﻿using System;
using System.Threading;

namespace Stopwatch
{
    public class Timer
    {
        private DateTime startTime;
        //private DateTime stopTime;
        //private Boolean isReset;
        private Boolean isRuning;
        private TimeSpan timeCount;
        //private TimeSpan timeCountNext;

        public void Start()
        {
            if (isRuning)
            {
                Console.WriteLine("Таймер уже запущен");
            }
            else
            {
                startTime = DateTime.Now;
                Console.WriteLine("Время пуска таймера {0}", startTime.ToString("hh:mm:ss.fff"));
                isRuning = true;
            }

        }
        public void Stop()
        {
            DateTime stopTime;
            if (!isRuning)
            {
                Console.WriteLine("Таймер не запущен");
            }
            else
            {
                stopTime = DateTime.Now;
                Console.WriteLine("Время останова таймера {0}", stopTime.ToString("hh:mm:ss.fff"));
                timeCount += stopTime - startTime;
                Console.WriteLine("Прошло {0} мс", timeCount.TotalMilliseconds);
                startTime = stopTime;
            }

        }

        public void Reset()
        {

            timeCount = TimeSpan.Zero;
            Console.WriteLine("Таймер обнулён");
            isRuning = false;
        }


        //if(isRuning)
        //{
        //    stopTime = DateTime.Now;
        //    Console.WriteLine("Время останова таймера {0}", stopTime.ToString("hh:mm:ss.fff"));
        //    timeCount = stopTime - startTime;
        //    Console.WriteLine("Прошло {0} мс", timeCount.TotalMilliseconds);
        //    isRuning = false;

        //}
        //else
        //{
        //    stopTime = DateTime.Now;
        //    Console.WriteLine("Время останова таймера {0}", stopTime.ToString("hh:mm:ss.fff"));
        //    timeCountNext = (stopTime - startTime)+timeCount;
        //    Console.WriteLine("Прошло {0} мс", timeCountNext.TotalMilliseconds);
        //    isRuning = false;
        //}
    }
}
